home *** CD-ROM | disk | FTP | other *** search
/ Visual FX for Image FX / VisualFX for Image FX 3 - Disc 2.iso / setup / setup03.rexx < prev    next >
OS/2 REXX Batch file  |  1997-08-22  |  5KB  |  229 lines

  1. /*
  2.                                  Visual FX
  3.                                     For
  4.                                  Image FX
  5.                                SetUp Script
  6.                            Written By J.L. White
  7.  
  8.                          (C)1997 Merlin's Software
  9.  
  10. */
  11. signal on error
  12. signal on syntax
  13.  
  14. parse arg CurrentFX VolumeNum TotalNum Frames Fields
  15. options results
  16. Quote = '22'X
  17.  
  18. address "IMAGEFX.1"
  19. ScreenToFront
  20. FlyOn = 0
  21. Compression = -1
  22. Frames = strip(Frames)
  23. Fields = strip(Fields)
  24.  
  25.  
  26.  
  27.  
  28. call FXSetUp()
  29.  
  30. if exists("libs:flyer.library") then do
  31.     if (POS('PROJECT_REXX_PORT',SHOW('Ports')) =0) then do
  32.         RequestNotify 'Flyer Must Be Running First!'
  33.         exit
  34.         end
  35.     call OpenFlyStuff()
  36.     Title = "Effect #"right(CurrentFX,2,'0')" From Volume #"strip(VolumeNum)
  37.     Gadget.1 = 'X/258/20/Use Field Rendering?/'Fields
  38.     Gadget.2 = 'D/78/20/120/Save As/2/FLYER CLIP/SEQUENCE'
  39.     Gadget.3 = 'L/135/42/1/2/'Title
  40.     ComplexRequest  '"Visual FX  SetUp Options"' 3 Gadget 450 56
  41.     if rc ~= 0 then do
  42.         call CloseStuff()
  43.         exit 0
  44.         end
  45.     else do
  46.         Field = RESULT.1
  47.         SaveType = RESULT.2
  48.            end
  49.     end
  50. else do
  51.     Title = "Effect #"right(CurrentFX,2,'0')" From Volume #"strip(VolumeNum)
  52.     Gadget.1 = 'X/154/20/Use Field Rendering?/Fields'
  53.     Gadget.2 = 'L/150/42/1/2/'Title
  54.     ComplexRequest  '"Visual FX  SetUp Options"' 2 Gadget 480 56
  55.     if rc ~= 0 then do
  56.         exit 0
  57.         end
  58.     else do
  59.         Frames = RESULT.1
  60.         Field = RESULT.2
  61.         SaveType = 1
  62.            end
  63. end
  64.  
  65. call GetS()
  66. call SaveTemp()
  67.  
  68. if FlyOn = 1 then
  69.     call CloseStuff()
  70. ScreenToBack
  71. EXIT 0
  72.  
  73.  
  74. FXSetUp:
  75.     FXSName = "VFXIFXCD:SetUp/"right(strip(VolumeNum),2,'0')"/"right(strip(CurrentFX),2,'0')".rexx"
  76.     if exists(FXSName) then do
  77.         address command "sys:rexxc/rx >NIL: "FXSName" "strip(TotalNum)".txt "Frames
  78.         end
  79. return
  80.  
  81.  
  82. FindDrive:
  83.     address command "C:Info >RAM:DriveList"
  84.     call open TempFile,"RAM:DriveList",R
  85.     do until eof(TempFile)
  86.         line = readln(TempFile)
  87.         parse var line Drive" "Rest
  88.         if Drive = "FA0:" then 
  89.             FlyVolume = word(Rest,7)":"
  90.     end
  91.     call close TempFile
  92.     address command "Delete >NIL: RAM:DriveList"
  93. return FlyVolume
  94.  
  95.  
  96. OpenFlyStuff:
  97.     FlyOn = 1
  98.     address command "run VFXIFXCD:FLY" 
  99.     do while (POS('FLY_1',SHOW('Ports')) = 0)
  100.         address command "wait 1"
  101.         end
  102.     TOASTERLIB="ToasterARexx.port"
  103.     call remlib('ToasterARexx.port')
  104.     call remlib('PROJECT_REXX_PORT')
  105.     call addlib('PROJECT_REXX_PORT' , 0)
  106.     call addlib(TOASTERLIB,0)
  107.     DriveName = FindDrive()
  108. return
  109.  
  110.  
  111. GetFile:
  112.     parse Arg Title, Path
  113.     Address FLY_1 SetString Path
  114.     Address FLY_1 GetFileNameNT Title
  115. return result
  116.  
  117. YesOrNo: procedure
  118.     parse Arg Title,Yes,No
  119.     Address FLY_1 OK_TEXT Yes
  120.     Address FLY_1 CANCEL_TEXT No
  121.     Address FLY_1 AskYesNoNT Title
  122.     if result = "OK" then YesNo = 1
  123.     else YesNo = 0
  124. return YesNo
  125.  
  126.  
  127. GetSName:
  128.     SaveName = GetFile("Enter Flyer Clip Name To Save!  ",DriveName)
  129.     Name = GetFileName(SaveName)
  130.     if Name = "" then do
  131.         Address FLY_1 OK_TEXT " OK "
  132.         Title = "You Must Enter A Valid Clip Name To Save!"
  133.         Address FLY_1 FYINT Title
  134.         Address FLY_1 Quit
  135.         call Switcher(TOWB)
  136.         exit
  137.         end
  138.     if exists(SaveName) then do
  139.         Answer = YesOrNo(" Are You Sure You Want To \ OverWrite "SaveName"?"," YES "," NO ")
  140.         if Answer = 0 then do
  141.             call GetSName()
  142.             return
  143.             end
  144.         Answer = YesOrNo(" Are You Positive?"," YES "," NO ")
  145.         if Answer = 1 then do
  146.             address command "Delete >NIL: "SaveName
  147.             if exists(SaveName".I") then
  148.                 address command "Delete >NIL: "SaveName".I"
  149.             end
  150.         if Answer = 0 then do
  151.             call GetSName()
  152.             return
  153.             end
  154.  
  155.         end
  156. return
  157.  
  158.  
  159. GetS:
  160.   if SaveType = 0 then do
  161.     DriveName = FindDrive()
  162.     call Switcher(TOSW)
  163.     call GetSName()
  164.     Address FLY_1 GetCompressionNT
  165.     Compression = result
  166.     if Compression = 2 then Compression = 0
  167.     call addlib('PROJECT_REXX_PORT' , 0)
  168.     call addlib(TOASTERLIB,0)
  169.     call Switcher(TOWB)
  170.     address command "C:Wait 1"
  171.     ScreenToFront
  172.     end
  173.    if SaveType = 1 then do
  174.     RequestFile '"Select BaseName To Save "' "SYS:" ' '
  175.     SaveName = result
  176.     Name = GetFileName(SaveName)
  177.     if Name = "" then do
  178.         Title = "You Must Enter A Valid Name To Use!"
  179.         RequestNotify Title
  180.         if FlyOn = 1 then Address FLY_1 Quit
  181.         exit
  182.         end
  183.     end
  184. return
  185.  
  186. CloseStuff:
  187.     Address FLY_1 Quit
  188.     call remlib('ToasterARexx.port')
  189.     call remlib('PROJECT_REXX_PORT')
  190. return
  191.  
  192.  
  193. SaveTemp:
  194.     address command "Copy >NIL: VFXIFXCD:Arexx/"right(strip(VolumeNum),2,'0')"/"right(strip(CurrentFX),2,'0')".rexx to RAM:VFXTEMP"
  195.     call open TempFile,"Ram:VFXTEMP",A
  196.     call writeln TempFile,"Settings:"
  197.     call writeln TempFile,"   Compression="Compression
  198.     call writeln TempFile,"   Field="Field
  199.     call writeln TempFile,"   SaveType="SaveType
  200.     call writeln TempFile,"   SaveName="Quote""SaveName""Quote
  201.     call writeln TempFile,"   Volume="strip(VolumeNum)
  202.     call writeln TempFile,"   CurrentFX="strip(CurrentFX)
  203.     call writeln TempFile,"   FXNum="strip(TotalNum)
  204.     call writeln TempFile,"return"
  205.     call close TempFile
  206. return
  207.  
  208. GetPathName: procedure  
  209.    ARG CompleteName
  210.    c = lastpos("/",CompleteName)
  211.    if c = 0 then c = lastpos(":",CompleteName)
  212.    return left(CompleteName,c)
  213.  
  214. GetFileName: procedure  
  215.    ARG CompleteName
  216.    c = lastpos("/",CompleteName)
  217.    if c = 0 then c = lastpos(":",CompleteName)
  218.    return substr(CompleteName, c + 1)
  219.  
  220.  
  221. syntax:
  222. error:
  223.     Title = "An Error Was Found With This Script On Line #"SIGL"!"
  224.     if SIGL != 35 then RequestNotify Title
  225.     if FlyOn = 1 then
  226.         Address FLY_1 Quit
  227. exit
  228.  
  229.